  var timerID;

  function tzone(os, ds, cl) {
      this.ct = new Date(0); // datetime
      this.os = os; // GMT offset
      this.ds = ds; // has daylight savings
      this.cl = cl; // font color
  }

  function UpdateClocks() {
      var ct = new Array(
          new tzone(-7, 0, 'silver'),
          new tzone(+9, 0, 'silver'),
          new tzone(1, 1, 'silver'),
          new tzone(2, 1, 'silver'),
          new tzone(2, 1, 'silver'),
          new tzone(2, 1, 'silver')
      );
      var dt = new Date(); // [GMT] time according to machine clock
      var startDST = new Date(dt.getFullYear(), 3, 1);
      while (startDST.getDay() != 0)
          startDST.setDate(startDST.getDate() + 1);
      var endDST = new Date(dt.getFullYear(), 9, 31);
      while (endDST.getDay() != 0)
          endDST.setDate(endDST.getDate() - 1);
      var ds_active; // DS currently active
      if (startDST < dt && dt < endDST)
          ds_active = 1;
      else
          ds_active = 0;
      // Adjust each clock offset if that clock has DS and in DS.
      //    for(n=0 ; n<ct.length ; n++)
      //        if (ct[n].ds == 1 && ds_active == 1) ct[n].os++ ;
      // compensate time zones
      var printstr = "";
      gmdt = new Date();
      for (n = 0; n < ct.length; n++) {
          ct[n].ct = new Date(gmdt.getTime() + ct[n].os * 3600 * 1000);
      }
      $(Clockk1).html(ClockString(ct[0].ct));
      $(Clockk2).html(ClockString(ct[1].ct));
      $(Clockk3).html(ClockString(ct[2].ct));
      $(Clockk4).html(ClockString(ct[3].ct));
      $(Clockk5).html(ClockString(ct[4].ct));
      $(Clockk6).html(ClockString(ct[5].ct));
      $(time1).html(time(ct[0].ct));
      $(time2).html(time(ct[1].ct));
      $(time3).html(time(ct[2].ct));
      $(time4).html(time(ct[3].ct));
      $(time5).html(time(ct[4].ct));
      $(time6).html(time(ct[5].ct));
      timerID = window.setTimeout("UpdateClocks()", 1001);
  }

  function ClockString(dt) {
      var stemp;
      var dt_year = dt.getUTCFullYear();
      var dt_month = dt.getUTCMonth() + 1;
      var dt_day = dt.getUTCDate();
      var dt_hour = dt.getUTCHours();
      var dt_minute = dt.getUTCMinutes();
      dt_year = dt_year.toString();
      stemp = dt_month + '月' + dt_day + '日';
      // stemp = dt_year + '年' + dt_month + '月' + dt_day + '日';
      // stemp = stemp + ' ' + dt_hour + ":" + dt_minute + ":" + dt_second;
      return stemp;
  }

  function time(dt) {
      var stemp;
      var dt_year = dt.getUTCFullYear();
      var dt_month = dt.getUTCMonth() + 1;
      var dt_day = dt.getUTCDate();
      var dt_hour = dt.getUTCHours();
      var dt_minute = dt.getUTCMinutes();
      var dt_second = dt.getUTCSeconds();
      dt_year = dt_year.toString();
      if (dt_hour < 10) {
          dt_hour = '0' + dt_hour;
      }
      if (dt_minute < 10)
          dt_minute = '0' + dt_minute;
      // if (dt_second < 10)
      //     dt_second = '0' + dt_second;
      stemp = dt_hour + ":" + dt_minute;
      //stemp = dt_year + '年' + dt_month + '月' + dt_day + '日';
      //stemp = dt_hour + ":" + dt_minute + ":" + dt_second;
      return stemp;
  }